package com.gxa.order.service;

import com.gxa.common.commons.JsonResult;
import com.gxa.common.commons.R;
import com.gxa.order.pojo.CleanOrder;
import com.gxa.order.pojo.EmployeeTask;
import com.gxa.order.pojo.HouseProperty;

/**
 * @Auth WK
 * @DATE 2022/10/7 14:48
 * @DESCRIBE
 */
public interface ServiceOrderService {
    /**
     * 1：添加房产
     * @param houseProperty
     * @return
     */
    R addHouseProperty(HouseProperty houseProperty);

    /**
     * 2：提交订单
     * @param cleanOrder
     * @return
     */
    R addCleanOrder(CleanOrder cleanOrder);

    /**
     * 3：用户名下房产信息的查询
     * @param userId
     * @return
     */
    JsonResult findHousePropertyList(Integer userId);

    /**
     * 4:用户下全部服务订单查询
     * @return
     */
    JsonResult findCleanOrderAll(Integer userId);

    /**
     * 5:用户下服务订单查询（待支付）
     * @return
     */
    JsonResult findCleanOrder1(Integer userId,Integer status);

    /**
     * 6:用户下服务订单查询（服务中）
     * @return
     */
    JsonResult findCleanOrder2();

    /**
     * 7:用户下服务订单查询（服务完成）
     * @return
     */
    JsonResult findCleanOrder3();

    /**
     * 8:用户下服务订单查询（服务暂停）
     * @return
     */
    JsonResult findCleanOrder4();

    /**
     * 9:用户下服务订单查询（点击查看详情）
     * @return
     */
    JsonResult findCleanOrder5(Integer cleanOrderId);

    /**
     * 10:用户下服务订单查询（已取消）
     * @return
     */
    JsonResult findCleanOrder6();

    /**
     * 11:取消订单
     * @return
     */
    R delCleanOrder(Integer cleanOrderId);

    /**
     * 12:点击服务中订单的查看订单详情
     * @param cleanOrderId
     * @return
     */
    JsonResult findCleanOrderByStatus(Integer cleanOrderId);

    /**
     * 13：编辑节点状态
     * @param scheduleStatus
     * @param cleanOrderId
     * @return
     */
    R updateCleanOrderStatus(Integer cleanOrderId,Integer scheduleStatus);

    /**
     * 14:查询员工任务
     * @param cleanOrderId
     * @return
     */
    JsonResult findEmployeeTaskList(Integer cleanOrderId);

    /**
     * 15:修改员工任务状态
     * @param employeeTaskId
     * @return
     */
    R updateEmployeeTaskStatus(Integer employeeTaskId,Integer status);

    /**
     * 16:添加员工任务
     * @param employeeTask
     * @return
     */
    R addEmployeeTask(EmployeeTask employeeTask);

    /**
     * 17:取消任务
     * @param employeeTaskId
     * @return
     */
    R delEmployeeTask(Integer employeeTaskId);

    /**
     * 18:查询员工任务详情
     * @param employeeTaskId
     * @return
     */
    JsonResult findEmployeeTask(Integer employeeTaskId);

    /**
     * 20:查询该订单下的财务信息
     * @param cleanOrderId
     * @return
     */
    JsonResult findFinanceList(Integer cleanOrderId);

    /**
     * 21:查询某条财务信息的详情
     * @param financeId
     * @return
     */
    JsonResult findFinance(Integer financeId);

    /**
     * 22:编辑财务信息
     * @param financeId
     * @return
     */
    R updateFinance(Integer financeId);

    /**
     * 26:查询房产信息详情
     * @param housePropertyId
     */
    JsonResult findHousePropertyDetails(Integer housePropertyId);

    /**
     * 27:查询执行人
     * @return
     */
    JsonResult findExecutorList();

    /**
     * 28:查询服务规格
     * @return
     */
    JsonResult findOrderServiceList1();

    JsonResult findRoomAreaList1(Integer orderServiceId);

    /**
     * 30：根据订单编号查订单id
     * @param cleanOrderNumber
     * @return
     */
    JsonResult findOrderIdByNumber(String cleanOrderNumber);

    /**
     * 31：根据订单id编辑支付时间
     * @param cleanOrderId
     * @param payTime
     * @return
     */
    JsonResult updateOrderPayTime(Integer cleanOrderId,String payTime);
}
